00001
00002 #ifndef INCLUDED_LIB3DS_QUAT_H
00003 #define INCLUDED_LIB3DS_QUAT_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef INCLUDED_LIB3DS_TYPES_H
00027 #include <lib3ds/types.h>
00028 #endif
00029
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033
00034 extern LIB3DSAPI void lib3ds_quat_zero(Lib3dsQuat c);
00035 extern LIB3DSAPI void lib3ds_quat_identity(Lib3dsQuat c);
00036 extern LIB3DSAPI void lib3ds_quat_copy(Lib3dsQuat dest, Lib3dsQuat src);
00037 extern LIB3DSAPI void lib3ds_quat_axis_angle(Lib3dsQuat c, Lib3dsVector axis, Lib3dsFloat angle);
00038 extern LIB3DSAPI void lib3ds_quat_neg(Lib3dsQuat c);
00039 extern LIB3DSAPI void lib3ds_quat_abs(Lib3dsQuat c);
00040 extern LIB3DSAPI void lib3ds_quat_cnj(Lib3dsQuat c);
00041 extern LIB3DSAPI void lib3ds_quat_mul(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b);
00042 extern LIB3DSAPI void lib3ds_quat_scalar(Lib3dsQuat c, Lib3dsFloat k);
00043 extern LIB3DSAPI void lib3ds_quat_normalize(Lib3dsQuat c);
00044 extern LIB3DSAPI void lib3ds_quat_inv(Lib3dsQuat c);
00045 extern LIB3DSAPI Lib3dsFloat lib3ds_quat_dot(Lib3dsQuat a, Lib3dsQuat b);
00046 extern LIB3DSAPI Lib3dsFloat lib3ds_quat_squared(Lib3dsQuat c);
00047 extern LIB3DSAPI Lib3dsFloat lib3ds_quat_length(Lib3dsQuat c);
00048 extern LIB3DSAPI void lib3ds_quat_ln(Lib3dsQuat c);
00049 extern LIB3DSAPI void lib3ds_quat_ln_dif(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b);
00050 extern LIB3DSAPI void lib3ds_quat_exp(Lib3dsQuat c);
00051 extern LIB3DSAPI void lib3ds_quat_slerp(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b, Lib3dsFloat t);
00052 extern LIB3DSAPI void lib3ds_quat_squad(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat p, Lib3dsQuat q,
00053 Lib3dsQuat b, Lib3dsFloat t);
00054 extern LIB3DSAPI void lib3ds_quat_tangent(Lib3dsQuat c, Lib3dsQuat p, Lib3dsQuat q, Lib3dsQuat n);
00055 extern LIB3DSAPI void lib3ds_quat_dump(Lib3dsQuat q);
00056
00057 #ifdef __cplusplus
00058 };
00059 #endif
00060 #endif
00061